﻿package mortal.game.utils
{
    import Message.BroadCast.*;
    import Message.Public.*;
    import com.gengine.utils.*;
    import extend.language.*;
    import mortal.common.global.*;
    import mortal.game.cache.*;
    import mortal.game.resource.*;
    import mortal.game.resource.info.*;
    import mortal.game.resource.tableConfig.*;
    import mortal.game.scene3D.layer3D.utils.*;
    import mortal.game.scene3D.map3D.util.*;
    import mortal.game.scene3D.player.info.*;

    public class NameUtil extends Object
    {
        public static const Spacer:String = "<font size=\'15\' color=\'#FFFFFF\'>·</font>";
        public static const Guyong:String = Language.getString(20699);

        public function NameUtil()
        {
            return;
        }// end function

        public static function get ProxyName() : String
        {
            return Language.getString(10014);
        }// end function

        public static function getServerName(param1:SEntityId) : String
        {
            if (!param1 || param1.typeEx == 0 || param1.typeEx == 0)
            {
                return "";
            }
            var _loc_2:* = ProxyName + "_" + param1.typeEx;
            if (EntityUtil.isSameProxyByRole(param1))
            {
                _loc_2 = ProxyConfig.instance.getProxyName(param1.typeEx2) + "_s" + param1.typeEx;
            }
            return _loc_2;
        }// end function

        public static function getRoleServerPrefix() : String
        {
            var _loc_1:* = Cache.instance.role.roleEntityInfo.entityInfo.entityId;
            return ProxyConfig.instance.getProxyName(_loc_1.typeEx2) + "_s" + _loc_1.typeEx + Spacer;
        }// end function

        public static function getProxyName(param1:SEntityId, param2:Boolean = false) : String
        {
            if (!param1 || param1.typeEx == 0 || param1.typeEx == 0)
            {
                return "";
            }
            var _loc_3:String = "";
            if (EntityUtil.isSameProxyByRole(param1))
            {
                _loc_3 = ProxyConfig.instance.getProxyName(param1.typeEx2) + "_s" + param1.typeEx;
            }
            else
            {
                _loc_3 = ProxyName + "_" + param1.typeEx;
            }
            if (!param2)
            {
                return _loc_3;
            }
            return "[" + _loc_3 + "]";
        }// end function

        public static function getProxyNameByProxyAndServer(param1:int, param2:int, param3:String = "_s", param4:Boolean = false) : String
        {
            var _loc_5:String = "";
            if (EntityUtil.isSameProxyByRoleProxyId(param1))
            {
                _loc_5 = ProxyConfig.instance.getProxyName(param1) + param3 + param2;
            }
            else
            {
                _loc_5 = ProxyName + param3 + param2;
            }
            if (!param4)
            {
                return _loc_5;
            }
            return "[" + _loc_5 + "]";
        }// end function

        public static function getName(param1:EntityInfo, param2:String) : String
        {
            if (!param1.entityInfo)
            {
                return "";
            }
            var _loc_3:String = "";
            if (param1.entityInfo.entityId.type == EEntityType._EEntityTypeMercenary)
            {
                _loc_3 = NameUtil.Guyong + NameUtil.Spacer;
            }
            else if (GameMapUtil.isForceNameMap())
            {
                _loc_3 = getHtmlForce(param1);
            }
            else if (GameMapUtil.curMapState.isCrossMap)
            {
                _loc_3 = getProxyName(param1.entityInfo.entityId) + NameUtil.Spacer;
            }
            return _loc_3 + getNameHtmlByRelation(param1.entityInfo, param2);
        }// end function

        public static function getNameByCamp(param1:int, param2:String) : String
        {
            return HTMLUtil.addColor(param2, GlobalStyle.colorLv);
        }// end function

        public static function getPetName(param1:EntityInfo, param2:String) : String
        {
            var _loc_3:String = "";
            if (GameMapUtil.isForceNameMap())
            {
                _loc_3 = getHtmlForce(param1);
            }
            return _loc_3 + getPetNameHtmlByRelation(param1.entityInfo, param2);
        }// end function

        public static function getPetNameHtmlByRelation(param1:SEntityInfo, param2:String) : String
        {
            return HTMLUtil.addColor(param2, PetUtil.getTalentColor(1).color);
        }// end function

        public static function getNameHtmlByRelation(param1:SEntityInfo, param2:String) : String
        {
            var _loc_3:String = "#FFFFFF";
            if (EntityRelationUtil.isFriend(param1))
            {
                _loc_3 = "#FFFFFF";
            }
            else
            {
                _loc_3 = "#FF0000";
            }
            return HTMLUtil.addColor(param2, _loc_3);
        }// end function

        public static function getHtmlCamp(param1:EntityInfo) : String
        {
            var _loc_2:DefInfo = null;
            var _loc_3:* = param1.entityInfo.camp;
            if (_loc_3 > 0 && _loc_3 <= 3)
            {
                return GameDefConfig.instance.getCampHtml(_loc_3) + NameUtil.Spacer;
            }
            return "";
        }// end function

        public static function getHtmlForce(param1:EntityInfo) : String
        {
            if (GameMapUtil.curMapState.isBattlefield)
            {
                return GameDefConfig.instance.getBattlefieldForceHtml(param1.entityInfo.force) + NameUtil.Spacer;
            }
            return "";
        }// end function

        public static function getNameInEscortCopy(param1:EntityInfo) : String
        {
            if (Cache.instance.role.entityInfo.force == EForce._EForceForce1)
            {
                if (param1.entityInfo.force != Cache.instance.role.entityInfo.force)
                {
                    return HTMLUtil.addColor(Language.getString(70071), GlobalStyle.colorHong);
                }
                return HTMLUtil.addColor(Language.getString(70070), GlobalStyle.colorLv);
            }
            if (param1.entityInfo.force != Cache.instance.role.entityInfo.force)
            {
                return HTMLUtil.addColor(Language.getString(70070), GlobalStyle.colorHong);
            }
            return HTMLUtil.addColor(Language.getString(70071), GlobalStyle.colorLv);
        }// end function

        public static function getCarName(param1:SEntityInfo, param2:String) : String
        {
            return HTMLUtil.addColor(param2, ColorConfig.instance.getItemColorString(1));
        }// end function

    }
}
